/**
 * 开发人员：yhb
 * 时间：2011-4-14 9:51:24
 * 功能：部门辅助类。
 * */

package com.towker.frame.share.sys.dept;

import java.util.List;

import com.towker.frame.model.sys.Department;


public class DeptShare
{
	//当前的部门列表。
	private static List<Department> list;
	/**
	 * 获得部门列表，部门名称带有职位数量显示。比如："测试部门(5)(5)"。
	 * */
	public static List<Department> getDeptListWithPositionCnt(List<Department> list)
	{
		DeptShare.list=list;
		setDeptPositionCnt();
		setDeptPositionCnt(new Department());
		return DeptShare.list;
	}
	 
	/**
	 * 递归设置部门的职位数。
	 * */
	private static void setDeptPositionCnt(Department po)
	{
		for(Department tmp:list)
		{
			if(tmp.getParentid().equals(po.getId()))
			{
				setDeptPositionCnt(tmp);
				po.setPositionCnt(po.getPositionCnt()+tmp.getPositionCnt());
			}
		}
	}
	
	/**
	 * 获得部门列表，positionCntUnrelated属性值赋给positionCnt用来计算父子相关的部门计数。
	 * */
	private static void setDeptPositionCnt()
	{
		for(Department tmp:list)
		{
			tmp.setPositionCnt(tmp.getPositionCntUnrelated());
		}
	}
}
